<template>
    <div>
        <button @click="isShow = !isShow">显示/隐藏</button>
        <!-- 
                    <h1 v-show="isShow">你好啊！</h1> 再加一个就报错
                    <transition> can only be used on a single element. Use <transition-group> for lists.
                    因为 transition 只能包裹一个元素
        -->
        <!-- <transition name="hello" :appear="true">
            <h1 v-show="isShow">你好啊！</h1>
        </transition> -->

        <transition-group name="hello" :appear="true">
            <h1 v-show="!isShow" key="1">你好啊！</h1>
            <h1 v-show="isShow" key="2">你好啊！</h1>
        </transition-group>
    </div>
</template>
<script>
import Vue from 'vue';
export default Vue.extend({
    name: 'Test',
    data() {
        return {
            isShow: true,
        }
    },
})
</script>

<style scoped>
/* 过渡
    hello-enter 和 hello-leave 两个在开发工具看不到，因为样式瞬间就没了太快了
*/
h1 {
    background-color: orange;
}

/* 进入的起点 离开的终点 */
.hello-enter,
.hello-leave-to {
    transform: translateX(-100%);
}

/* 进入的终点 离开的起点 */
.hello-enter-to,
.hello-leave {
    transform: translateX(0);
}

.hello-enter-active,
.hello-leave-active {
    transition: 1s linear;
}
</style>